package com.example.demo.service;

import com.example.demo.model.Order;
import com.example.demo.model.OrderStatus;
import com.example.demo.model.Paging;
import com.example.demo.param.QueryOrderParam;

public interface OrderService {
    /**
     * 下单
     * @param order 接收的Order模型
     * @return
     */
    Order add(Order order);

    /**
     * 分页查询最近商品订单
     *
     * @param param 查询参数
     * @return
     */
    Paging<Order> queryRecentPay(QueryOrderParam param);

    /**
     * 根据订单号查询
     *
     * @param orderNumber 订单号
     * @return
     */
    Order getByOrderNumber(String orderNumber);

    /**
     * 根据订单号更新订单状态
     * @param orderNumber 订单号
     * @param orderStatus 订单状态
     * @return
     */
    Order updateStatus(String orderNumber, OrderStatus orderStatus);

    /**
     * 根据订单号更新商品付款人数
     * @param orderNumber
     * @return
     */
    Order updateProductPersonNumber(String orderNumber);

}
